Logic and proof method of recursion

نویسنده

  • Birgit Schieder
چکیده

1 What makes a useful calculus? 7 1.0 The r^ ole of proofs and calculi in program development : 9 1.1 Choice of the proof 5 Conclusion 133 xii CONTENTS Chapter 0 Introduction Today there is general agreement that program development is important and diicult. Much research has been done and still is done, in order to make program development reliable and manageable. The main ingredients of program development are a formal calculus, which ensures correctness of development, and a method for its disciplined, goal-directed application. The essence of formal program development is that a program is formally speciied, and a program in executable notation is proved to meet that speciication. It is generally agreed that the executable program should not be guessed and afterwards be proved to meet the speciica-tion. Instead, the program and its proof should be developed hand in hand from the speciication. Of course, thought and insight into the problem domain are needed in the development of a program. As is well-known, program development cannot completely be mechanized. Therefore human guidance is indispensable to program development. The next step towards systematic program development consists in basing decisions rather on the shape of formulae than on insights into the problem domain. Certainly, knowledge of the problem domain cannot completely be replaced by consideration of the shape of formulae. But methods for program development should take the shape of formulae into account as much as possible in order to guide the development process. There is evidence that syntactic considerations can avoid the blind search for ideas to a large extent. Thus, a calculus for program development should be accompanied by a 1 2 CHAPTER 0. INTRODUCTION method for its application. The method should divide the development as clearly as possible into routine steps, and steps that require thought. The latter should be guided as much as possible by the shape of for-mulae. So, more systematic program development could be achieved. Today many calculi exist for program development and proof. But they are rarely accompanied by a method for their application. Undoubtedly, it is diicult to give a method that covers program development in general. But one could concentrate attention on particular development tasks. In this work we will concentrate on a special form of speciications, and nd a development method for them. We have chosen formulae of predicate calculus that contain inequations t v u or equations t …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Axioms for strict and lazy functional programs

We show the adequacy of axioms and proof rules for strict and lazy functional programs. Our basic logic comprises a huge part of what is common to both styles of functional programming. The logic for callby-value is obtained by adding the axiom that says that all variables are defined, whereas the logic for call-by-name is obtained by adding the axiom that postulates the existence of undefined ...

متن کامل

Hoare logic for Java in Isabelle/HOL

This article presents a Hoare-style calculus for a substantial subset of Java Card, which we call Java . In particular, the language includes side-effecting expressions, mutual recursion, dynamic method binding, full exception handling, and static class initialization. The Hoare logic of partial correctness is proved not only sound (w.r.t. our operational semantics of Java , described in detail...

متن کامل

A Generalized Resolution Proof Schema and the Pigeonhole Principle

The schematic CERES method is a method of cut elimination for proof schemata, that is a sequence of proofs with a recursive construction. Proof schemata can be thought of as a way to circumvent the addition of an induction rule to the LK-calculus. In this work, we formalize a schematic version of the Infinitary Pigeonhole Principle (IPP), in the LKS-calculus [9], and analyse the extracted claus...

متن کامل

Another Proof of an Extension of a Curious Identity

. (1) In 2002 Z. W. Sun [7] proved the case when z = 1 using double recursion. Later four alternative proofs have been provided for the special case. A generating function proof was given by A. Panholzer and H. Prodinger [6]; D. Merlini and R. Sprugnoli [5] established it through Riordan arrays; S. B. Ekhad and M. Mohammed [4] proved it based on a WZ method. Later, W. Chu and L. V. D. Claudio [...

متن کامل

Automating Recursive Type Definitions in Higher Order Logic

The expressive power of higher order logic makes it possible to define a wide variety of types within the logic and to prove theorems that state the properties of these types concisely and abstractly. This paper contains a tutorial introduction to the logical basis for such type definitions. Examples are given of the formal definitions in logic of several simple types. A method is then describe...

متن کامل

Automating Recursive Type Deenitions in Higher Order Logic 1

The expressive power of higher order logic makes it possible to deene a wide variety of types within the logic and to prove theorems that state the properties of these types concisely and abstractly. This paper contains a tutorial introduction to the logical basis for such type deenitions. Examples are given of the formal deenitions in logic of several simple types. A method is then described f...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994